package chain_apply

import (
	"chain_bridge_service/configs"
	"context"
	"go.mongodb.org/mongo-driver/bson"
	"go.mongodb.org/mongo-driver/mongo"
)

type ChainApply struct {
	Id             string `bson:"_id,omitempty" json:"id"`
	ChainConfigId0 string `bson:"chainConfigId0" json:"chainConfigId0"`
	ChainConfigId1 string `bson:"chainConfigId1" json:"chainConfigId1"`
	TokenId0       string `bson:"tokenId0" json:"tokenId0"`
	TokenId1       string `bson:"tokenId1" json:"tokenId1"`
	TxHash         string `bson:"txHash" json:"txHash"`
	From           string `bson:"from" json:"from"`
	To             string `bson:"to" json:"to"`
	Status         string `bson:"status" json:"status"`
	UserId         string `bson:"userId" json:"userId"`
	Amount0        string `bson:"amount0" json:"amount0"`
	Amount1        string `bson:"amount1" json:"amount1"`
	TimeStamp      int64  `bson:"timeStamp" json:"timeStamp"`
}

func GetInfoByTxHash(client *mongo.Client, txHash string) (int64, error) {
	cfg := configs.Get().Mongodb
	tokenClient := client.Database(cfg.Config.Name).Collection("chain_apply")
	number, err := tokenClient.CountDocuments(context.TODO(), bson.D{{"txHash", txHash}})
	return number, err
}
